Project management involves, in part, planning, organizing, securing and/or managing resources to bring about the successful completion of a project with respect to specific project goals and objectives. Project managers can manage resources using, for example, a well-known Agile development approach. See., e.g., “Agile Software Development: A gentle introduction” at www.Agile-process.org. An Agile approach is characterized by factors such as relatively short time-frame intervals (often referred to as sprints or iterations), delivery of certain goals at the end of each iteration, and regular adaptation of requirements and designs in response to changing circumstances.
Under Agile development methods, a project can be organized into one or more features with each feature delivering a package of related functionalities that an end user generally expects to get all at once. In turn, each feature can be broken down into a collection of related stories with each story defining a particular functionality. Each story can be further decomposed into one or more tasks. In addition, a working feature or product can be produced at the end of a release, during which the feature or product is refined through successive iterations. Typically, each iteration involves a team working through a full development cycle including planning, designing and testing phases. Thus, Agile methods minimize overall risks by allowing a project to adapt to changes quickly.
Throughout the years, project management tools that have been created to more effectively organize and document the software development process. For example, project management tools have been designed to aid developers using the Agile method and to help larger and geographically distant teams interact over a network or the internet. For the sake of collaboration, consistency and effectiveness, such a management tool would actually require the consolidating and facilitating of project management, product management, customer management, programmers, testers, etc., into a single environment or management tool. Typically, however, several management tools are utilized by the manager, programmer or tester to accommodate their individual needs and there is no common management tool available that accommodates everyone's needs throughout the development process. Further still, different teams at different locations may choose to utilize different management tools that they are more familiar with or better suit their needs, which further complicate the overall management process of software development.
For example, numerous tools are available to track the development process. However, these tools lack an overall management capability and are only designed for a particular part or person in the development process. For example, the Jira™ issue/project tracking tool tracks issues, bugs, stories, project tasks, and other work items, whereas HP Quality Center (HP-QC)™ tracks test plans, test cases, test executions, defects, and root causes of defects. Likewise, Clear Case™ may track only the source code and Sonar™ only tracks the build and the code quality metrics. Service Manager™ tracks release tickets, change tickets, incidents reports, and overall problems. Other tools like CMDB™ track application registries, product lines, products, databases and servers, and Project Team™ tracks project team attributes, personnel, business deliverables, and product alignment. On more of the management side, PPMC™ tracks project resources and project financials. Thus, each of these tools does not have an overall management capability and are designed for specific parts of the development process.
Although some tools offer suites of management tools that interact, it can be difficult to get teams and/or data to migrate to a different tool or suite of tools, because people are creatures of habit and often managers, programmers, testers, etc. in the software development process often get familiar or comfortable with certain tools making it hard and unlikely for personnel to adjust. Often this leaves such new tools less used or worse unused and thus ineffective. Additionally, these suites are incapable of interacting with other third party tools. The inability to effectively manage the plurality of software development tools utilized across the development process, across various development teams, across various development tools and across geographically disperse locations not only interferes with the collaborative style of the Agile process but also breaks down the necessary oversight essential to effective project management via any software development methodology.